home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Taifun
/
Taifun 080 (1988-11-15)(Ossowski, Stefan)(DE)(PD).zip
/
Taifun 080 (1988-11-15)(Ossowski, Stefan)(DE)(PD).adf
/
OOPS!
/
Oops!.c
< prev
next >
Wrap
C/C++ Source or Header
|
1988-08-14
|
3KB
|
90 lines
/******************************************************************************
********** **********
********** Oops! - Changes WB's background color to ??? **********
********** **********
*******************************************************************************
********** **********
********** Designed by Magic Ceee 07-AUG-87 **********
********** **********
********** This stuff is in the public domain - enjoy! **********
********** **********
******************************************************************************/
#include "exec/types.h"
#include "exec/memory.h"
#include "graphics/gfxbase.h"
#include "graphics/copper.h"
#include "hardware/custom.h"
#include "intuition/intuition.h"
#define NO_INTUI "Intuition won't open!\n"
#define NO_GFX "Graphix won't open!\n"
struct IntuitionBase *IntuitionBase;
struct GfxBase *GfxBase;
struct ViewPort *MagicView;
struct UCopList *MagicList;
struct UBYTE *AllocMem();
extern struct Custom custom;
/******************************************************************************
*** y[] = Vertical beam position ***
*** col[] = Colortable. Starts at $000 (Black), ends at $FFF (Blue) ***
******************************************************************************/
static int pos[] = { 0,12,18,24,30,36,42,48,54,60,66,72,78,84,90,96,102,108,
114,120,126,132,138,144,150,156,162,168,174,180,188,194 };
static int col[] = { 0x000,0x001,0x002,0x003,0x004,0x005,0x006,0x007,0x008,
0x009,0x00a,0x00b,0x00c,0x00d,0x00e,0x00f,0x00f,0x00e,
0x00d,0x00c,0x00b,0x00a,0x009,0x008,0x007,0x006,0x005,
0x004,0x003,0x002,0x001,0x000 };
/******************************************************************************
*** Let the colorful times roll... ***
******************************************************************************/
main()
{
int i;
if(!(IntuitionBase=(struct IntuitionBase *)
OpenLibrary("intuition.library",0)))
{
Write(Output(),NO_INTUI,strlen(NO_INTUI));
exit(0);
}
if(!(GfxBase=(struct GfxBase *)OpenLibrary("graphics.library",0)))
{
Write(Output(),NO_GFX,strlen(NO_GFX));
CloseLibrary(IntuitionBase);
exit(0);
}
MagicView=GfxBase->ActiView->ViewPort; /* Current ViewPort */
MagicList=AllocMem(sizeof(struct UCopList),MEMF_PUBLIC|MEMF_CLEAR);
/* for(i=0;i<31;i++) pos[i]+=30; <-- PAL offset (256 video lines) */
for(i=0;i<31;i++)
{
CWAIT(MagicList,pos[i],0); /* Wait til pos[i] */
CMOVE(MagicList,custom.color[0],col[i]); /* Use new color */
}
CEND(MagicList); /* New UCopList installed */
MagicView->UCopIns=MagicList; /* Tell Copper bout new list */
RethinkDisplay(); /* At this point, it's going to be funny
as hell... */
CloseLibrary(IntuitionBase);
CloseLibrary(GfxBase); /* Ceee you! */
}